{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.6.8"
    },
    "colab": {
      "name": "data_visualization.ipynb",
      "provenance": [],
      "collapsed_sections": []
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Y3tTnbCTMWJO"
      },
      "source": [
        "**This notebook is for visualization of our updated Air Pollution dataset.**"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "DuA4HGMUojns"
      },
      "source": [
        "import numpy as np\n",
        "from numpy import concatenate\n",
        "from matplotlib import pyplot\n",
        "from pandas import read_csv\n",
        "from pandas import DataFrame\n",
        "from pandas import concat\n",
        "from sklearn.preprocessing import MinMaxScaler\n",
        "from sklearn.preprocessing import LabelEncoder\n",
        "from sklearn.metrics import mean_squared_error\n",
        "from keras.models import Sequential\n",
        "from keras.layers import Dense\n",
        "from keras.layers import LSTM\n",
        "from pandas import read_csv\n",
        "from datetime import datetime\n",
        "from keras.layers import Bidirectional\n",
        "import datetime\n",
        "import matplotlib.pyplot as plt\n",
        "import pandas as pd\n",
        "\n"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "IQ8fkRF8M0mG"
      },
      "source": [
        "**Read the dataset for all the stations. Mean and error has been calculated for each station across different months.**"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 439
        },
        "id": "onYiD7c5ojn7",
        "outputId": "9bd5d4d7-1447-48d1-d5fd-2a34111bb6ca"
      },
      "source": [
        "#df= read_csv('data/appcpc/anand_vihar_15-20_p25_8h.csv', encoding = \"ISO-8859-1\") \n",
        "df= read_csv('data_new/PM2.5/All_PM2.5.csv', encoding = \"ISO-8859-1\")\n",
        "df['date'] = pd.to_datetime(df['Date']) # date parse\n",
        "# # df['Date'] = pd.to_datetime(city_day['Date'])\n",
        "df['year'] = df['date'].dt.year # year\n",
        "df['year'] = df['year'].fillna(df[\"year\"].min())\n",
        "df['year'] = df['year'].values.astype(int)\n",
        "df['PM2.5 Bawana'].astype(str).astype(np.float64)\n",
        "df['PM2.5 Anand vihar'].astype(str).astype(np.float64)\n",
        "df['PM2.5 Vivek Vihar'].astype(str).astype(np.float64)\n",
        "df['PM2.5 DTU'].astype(str).astype(np.float64)\n",
        "avg_val=np.zeros((36,9),dtype=np.float64)\n",
        "# print(avg_val[0][2])\n",
        "s=np.zeros((1,4),dtype=np.float64)\n",
        "# print(s)\n",
        "i=907\n",
        "k=-1\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "months = ['Jan 2018', 'Feb 2018', 'Mar 2018', 'Apr 2018', 'May 2018', 'Jun 2018',\n",
        "          'Jul 2018', 'Aug 2018', 'Sep 2018', 'Oct 2018', 'Nov 2018', 'Dec 2018',\n",
        "          'Jan 2019', 'Feb 2019', 'Mar 2019', 'Apr 2019', 'May 2019', 'Jun 2019',\n",
        "          'Jul 2019', 'Aug 2019', 'Sep 2019', 'Oct 2019', 'Nov 2019', 'Dec 2019',\n",
        "          'Jan 2020', 'Feb 2020', 'Mar 2020', 'Apr 2020', 'May 2020', 'Jun 2020',\n",
        "          'Jul 2020', 'Aug 2020', 'Sep 2020','Oct 2020', 'Nov 2020', 'Dec 2020'\n",
        "         ]\n",
        "\n",
        "target_mon = ['03', '04', '05', '06']\n",
        "\n",
        "\n",
        "baw_list = [[] , [] , []]\n",
        "anand_list = [[] , [] , []]\n",
        "vivek_list = [[] , [] , []]\n",
        "dtu_list = [[] , [] , []]\n",
        "\n",
        "while(i<1982):\n",
        "    \n",
        "    m=df['Date'][i][3:5]\n",
        "    y=df['Date'][i][6:]\n",
        "    mon=df['Date'][i][3:5]\n",
        "    j=i\n",
        "    s[0][0]=0.0\n",
        "    s[0][1]=0.0\n",
        "    s[0][2]=0.0\n",
        "    s[0][3]=0.0\n",
        "    \n",
        "    temp_k=0\n",
        "    \"\"\"\n",
        "    while(j<1982):\n",
        "      if(mon in target_mon1):\n",
        "        baw_list[0].append(df['PM2.5 Bawana'][j])\n",
        "        anand_list[0].append(df['PM2.5 Anand vihar'][j])\n",
        "        vivek_list[0].append(df['PM2.5 Vivek Vihar'][j])\n",
        "        dtu_list[0].append(df['PM2.5 DTU'][j])\n",
        "\n",
        "      if(mon in target_mon2):\n",
        "        baw_list[1].append(df['PM2.5 Bawana'][j])\n",
        "        anand_list[1].append(df['PM2.5 Anand vihar'][j])\n",
        "        vivek_list[1].append(df['PM2.5 Vivek Vihar'][j])\n",
        "        dtu_list[1].append(df['PM2.5 DTU'][j])\n",
        "\n",
        "      if(mon in target_mon3):\n",
        "        baw_list[2].append(df['PM2.5 Bawana'][j])\n",
        "        anand_list[2].append(df['PM2.5 Anand vihar'][j])\n",
        "        vivek_list[2].append(df['PM2.5 Vivek Vihar'][j])\n",
        "        dtu_list[2].append(df['PM2.5 DTU'][j])\n",
        "\n",
        "      mon=df['Date'][j][3:5]\n",
        "      j=j+1  \"\"\"\n",
        "\n",
        "\n",
        "    while(mon==m and j<1982): \n",
        "        s[0][0]+=df['PM2.5 Bawana'][j]\n",
        "        s[0][1]+=df['PM2.5 Anand vihar'][j]\n",
        "        s[0][2]+=df['PM2.5 Vivek Vihar'][j]\n",
        "        s[0][3]+=df['PM2.5 DTU'][j]\n",
        "        if(mon in target_mon and y == '2018'):\n",
        "          baw_list[0].append(df['PM2.5 Bawana'][j])\n",
        "          anand_list[0].append(df['PM2.5 Anand vihar'][j])\n",
        "          vivek_list[0].append(df['PM2.5 Vivek Vihar'][j])\n",
        "          dtu_list[0].append(df['PM2.5 DTU'][j])\n",
        "\n",
        "        if(mon in target_mon and y == '2019'):\n",
        "          baw_list[1].append(df['PM2.5 Bawana'][j])\n",
        "          anand_list[1].append(df['PM2.5 Anand vihar'][j])\n",
        "          vivek_list[1].append(df['PM2.5 Vivek Vihar'][j])\n",
        "          dtu_list[1].append(df['PM2.5 DTU'][j])\n",
        "\n",
        "        if(mon in target_mon and y == '2020'):\n",
        "          baw_list[2].append(df['PM2.5 Bawana'][j])\n",
        "          anand_list[2].append(df['PM2.5 Anand vihar'][j])\n",
        "          vivek_list[2].append(df['PM2.5 Vivek Vihar'][j])\n",
        "          dtu_list[2].append(df['PM2.5 DTU'][j])\n",
        "\n",
        "\n",
        "        mon=df['Date'][j][3:5]\n",
        "        j=j+1\n",
        "        i=j\n",
        "        temp_k+=1\n",
        "        \n",
        "    k=k+1\n",
        "#     print(\"iiiiiii=\",i)\n",
        "#     print(\"k=====\",k)\n",
        "    avg_val[k][0]=k\n",
        "    avg_val[k][1]=s[0][0]/temp_k\n",
        "    avg_val[k][2]=s[0][1]/temp_k\n",
        "    avg_val[k][3]=s[0][2]/temp_k\n",
        "    avg_val[k][4]=s[0][3]/temp_k\n",
        "    avg_val[k][5]=1.96*(np.std(np.array(df['PM2.5 Bawana'][i-temp_k:i]))/np.sqrt(temp_k))\n",
        "    avg_val[k][6]=1.96*(np.std(np.array(df['PM2.5 Anand vihar'][i-temp_k:i]))/np.sqrt(temp_k))\n",
        "    avg_val[k][7]=1.96*(np.std(np.array(df['PM2.5 Vivek Vihar'][i-temp_k:i]))/np.sqrt(temp_k))\n",
        "    avg_val[k][8]=1.96*(np.std(np.array(df['PM2.5 DTU'][i-temp_k:i]))/np.sqrt(temp_k))\n",
        "    \n",
        "#     k=k+1\n",
        "    \n",
        "print(avg_val.shape)\n",
        "pyplot.figure()\n",
        "pyplot.plot((avg_val[:][1:]))"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "(36, 9)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "[<matplotlib.lines.Line2D at 0x7fb8b4eacbe0>,\n",
              " <matplotlib.lines.Line2D at 0x7fb8b4eaccf8>,\n",
              " <matplotlib.lines.Line2D at 0x7fb8b4eace48>,\n",
              " <matplotlib.lines.Line2D at 0x7fb8b4eacf98>,\n",
              " <matplotlib.lines.Line2D at 0x7fb8b4ebb128>,\n",
              " <matplotlib.lines.Line2D at 0x7fb8b4ebb278>,\n",
              " <matplotlib.lines.Line2D at 0x7fb8b4ebb3c8>,\n",
              " <matplotlib.lines.Line2D at 0x7fb8b4ebb518>,\n",
              " <matplotlib.lines.Line2D at 0x7fb8b4ebb668>]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 20
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 355
        },
        "id": "iscMaO2Pojn8",
        "outputId": "ee8e634b-c99a-4fa5-9780-b683795eb6ee"
      },
      "source": [
        "avg_val[0,3] = 0.0\n",
        "avg_val[0,7] = 0.0\n",
        "cols=['PM2.5 Bawana','PM2.5 Anand vihar','PM2.5 Vivek Vihar','PM2.5 DTU','Err BW','Err AV','Err VV','Err DTU']\n",
        "avg_df= pd.DataFrame(data=avg_val[0:,1:],index=avg_val[0:,0], columns=cols)\n",
        "avg_df['months']=months\n",
        "avg_df.head(10)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>PM2.5 Bawana</th>\n",
              "      <th>PM2.5 Anand vihar</th>\n",
              "      <th>PM2.5 Vivek Vihar</th>\n",
              "      <th>PM2.5 DTU</th>\n",
              "      <th>Err BW</th>\n",
              "      <th>Err AV</th>\n",
              "      <th>Err VV</th>\n",
              "      <th>Err DTU</th>\n",
              "      <th>months</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0.0</th>\n",
              "      <td>0.000000</td>\n",
              "      <td>259.521875</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>273.616875</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>32.515569</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>30.858880</td>\n",
              "      <td>Jan 2018</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1.0</th>\n",
              "      <td>0.000000</td>\n",
              "      <td>159.403571</td>\n",
              "      <td>158.194643</td>\n",
              "      <td>155.876071</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>23.643091</td>\n",
              "      <td>19.246089</td>\n",
              "      <td>25.369133</td>\n",
              "      <td>Feb 2018</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2.0</th>\n",
              "      <td>0.000000</td>\n",
              "      <td>97.771290</td>\n",
              "      <td>110.457419</td>\n",
              "      <td>116.406452</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>20.477121</td>\n",
              "      <td>11.417376</td>\n",
              "      <td>11.892274</td>\n",
              "      <td>Mar 2018</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3.0</th>\n",
              "      <td>0.000000</td>\n",
              "      <td>114.543667</td>\n",
              "      <td>91.561000</td>\n",
              "      <td>79.994000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>17.141106</td>\n",
              "      <td>13.674983</td>\n",
              "      <td>15.050522</td>\n",
              "      <td>Apr 2018</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4.0</th>\n",
              "      <td>0.000000</td>\n",
              "      <td>108.096129</td>\n",
              "      <td>86.566129</td>\n",
              "      <td>75.260968</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>15.734762</td>\n",
              "      <td>12.540266</td>\n",
              "      <td>14.793574</td>\n",
              "      <td>May 2018</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5.0</th>\n",
              "      <td>0.000000</td>\n",
              "      <td>98.054667</td>\n",
              "      <td>69.023667</td>\n",
              "      <td>71.601667</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>27.971598</td>\n",
              "      <td>17.202870</td>\n",
              "      <td>17.096118</td>\n",
              "      <td>Jun 2018</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6.0</th>\n",
              "      <td>51.581290</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>44.845806</td>\n",
              "      <td>39.334516</td>\n",
              "      <td>6.661111</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>4.905785</td>\n",
              "      <td>4.966403</td>\n",
              "      <td>Jul 2018</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7.0</th>\n",
              "      <td>51.081613</td>\n",
              "      <td>32.471613</td>\n",
              "      <td>37.039032</td>\n",
              "      <td>33.130323</td>\n",
              "      <td>7.061709</td>\n",
              "      <td>9.431541</td>\n",
              "      <td>4.121059</td>\n",
              "      <td>5.184255</td>\n",
              "      <td>Aug 2018</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8.0</th>\n",
              "      <td>52.726333</td>\n",
              "      <td>49.611000</td>\n",
              "      <td>50.376333</td>\n",
              "      <td>41.984000</td>\n",
              "      <td>8.926083</td>\n",
              "      <td>10.980435</td>\n",
              "      <td>9.971034</td>\n",
              "      <td>7.122701</td>\n",
              "      <td>Sep 2018</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9.0</th>\n",
              "      <td>172.044194</td>\n",
              "      <td>174.321290</td>\n",
              "      <td>163.898065</td>\n",
              "      <td>149.569677</td>\n",
              "      <td>23.036831</td>\n",
              "      <td>27.592672</td>\n",
              "      <td>28.845696</td>\n",
              "      <td>22.851269</td>\n",
              "      <td>Oct 2018</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "     PM2.5 Bawana  PM2.5 Anand vihar  ...    Err DTU    months\n",
              "0.0      0.000000         259.521875  ...  30.858880  Jan 2018\n",
              "1.0      0.000000         159.403571  ...  25.369133  Feb 2018\n",
              "2.0      0.000000          97.771290  ...  11.892274  Mar 2018\n",
              "3.0      0.000000         114.543667  ...  15.050522  Apr 2018\n",
              "4.0      0.000000         108.096129  ...  14.793574  May 2018\n",
              "5.0      0.000000          98.054667  ...  17.096118  Jun 2018\n",
              "6.0     51.581290           0.000000  ...   4.966403  Jul 2018\n",
              "7.0     51.081613          32.471613  ...   5.184255  Aug 2018\n",
              "8.0     52.726333          49.611000  ...   7.122701  Sep 2018\n",
              "9.0    172.044194         174.321290  ...  22.851269  Oct 2018\n",
              "\n",
              "[10 rows x 9 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 21
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "BsWSBUcFNO7n"
      },
      "source": [
        "**Plot for Jan, 2018 to Dec,2020**"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0vw9GmRaojn9",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 542
        },
        "outputId": "21fb0f36-6045-4ba4-a2f1-b09bae5c04fe"
      },
      "source": [
        "import plotly.graph_objects as go\n",
        "\n",
        "fig = go.Figure()\n",
        "fig.add_trace(go.Bar(x=avg_df['months'],\n",
        "                y=avg_df['PM2.5 Bawana'],\n",
        "                     error_y=dict(type='data', array=np.array(avg_df['Err BW'])),\n",
        "                name='Bawana',\n",
        "                marker_color='rgb(55, 83, 109)'\n",
        "                ))\n",
        "fig.add_trace(go.Bar(x=avg_df['months'],\n",
        "                y=avg_df['PM2.5 Anand vihar'],\n",
        "                error_y=dict(type='data', array=np.array(avg_df['Err AV'])),\n",
        "                name='Anand Vihar',\n",
        "                marker_color='rgb(0,125,150)'\n",
        "                ))\n",
        "fig.add_trace(go.Bar(x=avg_df['months'],\n",
        "                y=avg_df['PM2.5 DTU'],\n",
        "                error_y=dict(type='data', array=np.array(avg_df['Err DTU'])),\n",
        "                name='DTU',\n",
        "                marker_color='rgb(13, 255, 20)'\n",
        "                ))\n",
        "fig.add_trace(go.Bar(x=avg_df['months'],\n",
        "                y=avg_df['PM2.5 Vivek Vihar'],\n",
        "                error_y=dict(type='data', array=np.array(avg_df['Err VV'])),\n",
        "                name='Vivek Vihar',\n",
        "                marker_color='rgb(255, 10, 10)'\n",
        "                ))\n",
        "\n",
        "fig.update_layout(\n",
        "    title='PM2.5 values for Delhi\\'s most polluted areas' ,\n",
        "    xaxis_tickfont_size=14,\n",
        "    yaxis=dict(\n",
        "        title='PM2.5(u/gm3)',\n",
        "        titlefont_size=16,\n",
        "        tickfont_size=14,\n",
        "    ),\n",
        "    legend=dict(\n",
        "        x=0,\n",
        "        y=1.0,\n",
        "        bgcolor='rgba(255, 255, 255, 0)',\n",
        "        bordercolor='rgba(255, 255, 255, 0)'\n",
        "    ),\n",
        "    barmode='group',\n",
        "    bargap=0.15, # gap between bars of adjacent location coordinates.\n",
        "    bargroupgap=0.1,# gap between bars of the same location coordinate.\n",
        "    shapes=[\n",
        "        dict(\n",
        "            type=\"rect\",\n",
        "            # x-reference is assigned to the x-values\n",
        "            xref=\"x\",\n",
        "            # y-reference is assigned to the plot paper [0,1]\n",
        "            yref=\"paper\",\n",
        "            x0=\"Jun 2020\",\n",
        "            y0=0,\n",
        "            x1=\"Mar 2020\",\n",
        "            y1=1,\n",
        "            fillcolor=\"LightSalmon\",\n",
        "            opacity=0.5,\n",
        "            layer=\"below\",\n",
        "            line_width=0,\n",
        "        ),\n",
        "        dict(\n",
        "            type=\"rect\",\n",
        "            # x-reference is assigned to the x-values\n",
        "            xref=\"x\",\n",
        "            # y-reference is assigned to the plot paper [0,1]\n",
        "            yref=\"paper\",\n",
        "            x0=\"Jan 2018\",\n",
        "            y0=0,\n",
        "            x1=\"Mar 2020\",\n",
        "            y1=1,\n",
        "            #fillcolor=\"white\",\n",
        "            opacity=0.5,\n",
        "            layer=\"below\",\n",
        "            line_width=0,\n",
        "        ),\n",
        "        dict(\n",
        "            type=\"rect\",\n",
        "            # x-reference is assigned to the x-values\n",
        "            xref=\"x\",\n",
        "            # y-reference is assigned to the plot paper [0,1]\n",
        "            yref=\"paper\",\n",
        "            x0=\"Jun 2020\",\n",
        "            y0=0,\n",
        "            #x1=\"Dec 2020\",\n",
        "            x1 = 35.4, \n",
        "            y1=1,\n",
        "            fillcolor=\"violet\",\n",
        "            opacity=0.5,\n",
        "            layer=\"below\",\n",
        "            line_width=0,\n",
        "        )\n",
        "    ],\n",
        "    annotations=[\n",
        "        dict(\n",
        "            x=27.5,\n",
        "            y=232,\n",
        "            xref=\"x\",\n",
        "            yref=\"y\",\n",
        "            text=\"COVID-19\",\n",
        "#             family=\"sans serif\",\n",
        "            showarrow=False\n",
        "        ),\n",
        "        dict(\n",
        "            x=27.5,\n",
        "            y=216,\n",
        "            xref=\"x\",\n",
        "            yref=\"y\",\n",
        "            text=\"Lockdown\",\n",
        "#             family=\"sans serif\",\n",
        "            showarrow=False\n",
        "        ),\n",
        "        dict(\n",
        "            x=15.5,\n",
        "            y=275,\n",
        "            xref=\"x\",\n",
        "            yref=\"y\",\n",
        "            text=\"Pre COVID-19 Lockdown\",\n",
        "#             family=\"sans serif\",\n",
        "            showarrow=False\n",
        "        ),\n",
        "        dict(\n",
        "            x= 31.5,\n",
        "            y=275,\n",
        "            xref=\"x\",\n",
        "            yref=\"y\",\n",
        "            text=\"Partial Lockdown\",\n",
        "#             family=\"sans serif\",\n",
        "            showarrow=False\n",
        "        )\n",
        "    ]\n",
        ")\n",
        "fig.show()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/html": [
              "<html>\n",
              "<head><meta charset=\"utf-8\" /></head>\n",
              "<body>\n",
              "    <div>\n",
              "            <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script>\n",
              "                <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
              "        <script src=\"https://cdn.plot.ly/plotly-latest.min.js\"></script>    \n",
              "            <div id=\"74b3dcf0-3c22-480d-b536-f0a49c8819b7\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div>\n",
              "            <script type=\"text/javascript\">\n",
              "                \n",
              "                    window.PLOTLYENV=window.PLOTLYENV || {};\n",
              "                    \n",
              "                if (document.getElementById(\"74b3dcf0-3c22-480d-b536-f0a49c8819b7\")) {\n",
              "                    Plotly.newPlot(\n",
              "                        '74b3dcf0-3c22-480d-b536-f0a49c8819b7',\n",
              "                        [{\"error_y\": {\"array\": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.661110886678305, 7.0617088106435, 8.926082760260309, 23.036830971848165, 30.59158036850435, 20.076990835744887, 34.27717930430245, 22.292821329970778, 9.384258316623647, 12.370572722981416, 19.692330852080406, 7.390272606717161, 5.473998226749222, 5.914134310635172, 6.4673705970979745, 38.55640379720426, 52.563013262012994, 32.35770730863656, 20.51383788432911, 20.32206481322166, 11.187963012319223, 10.523334802605465, 11.856224702585196, 6.566746674205886, 4.199535616760565, 3.1508922297824045, 5.616341255739231, 27.428215160793822, 49.96605730827841, 48.94755068878937], \"type\": \"data\"}, \"marker\": {\"color\": \"rgb(55, 83, 109)\"}, \"name\": \"Bawana\", \"type\": \"bar\", \"x\": [\"Jan 2018\", \"Feb 2018\", \"Mar 2018\", \"Apr 2018\", \"May 2018\", \"Jun 2018\", \"Jul 2018\", \"Aug 2018\", \"Sep 2018\", \"Oct 2018\", \"Nov 2018\", \"Dec 2018\", \"Jan 2019\", \"Feb 2019\", \"Mar 2019\", \"Apr 2019\", \"May 2019\", \"Jun 2019\", \"Jul 2019\", \"Aug 2019\", \"Sep 2019\", \"Oct 2019\", \"Nov 2019\", \"Dec 2019\", \"Jan 2020\", \"Feb 2020\", \"Mar 2020\", \"Apr 2020\", \"May 2020\", \"Jun 2020\", \"Jul 2020\", \"Aug 2020\", \"Sep 2020\", \"Oct 2020\", \"Nov 2020\", \"Dec 2020\"], \"y\": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 51.58129032258064, 51.081612903225796, 52.726333333333336, 172.0441935483871, 210.27966666666666, 170.98225806451615, 235.27709677419355, 144.3378571428572, 107.0358064516129, 101.33633333333334, 120.1683870967742, 68.04966666666667, 50.30516129032258, 43.61709677419354, 54.14833333333334, 179.0754838709678, 232.97933333333333, 246.69967741935483, 165.71225806451616, 159.30862068965516, 73.74709677419352, 56.51466666666668, 74.1551612903226, 52.19966666666666, 39.46774193548388, 28.34806451612903, 58.606666666666676, 186.18612903225804, 274.0133333333333, 278.39000000000004]}, {\"error_y\": {\"array\": [32.515568502129845, 23.643091468545308, 20.477120624024945, 17.141105751906398, 15.73476233610305, 27.971597951533195, 0.0, 9.431541114949889, 10.980434823227478, 27.59267220759753, 35.610812938121704, 39.02694452190132, 39.13440226265958, 27.153184957800068, 19.278541092119493, 12.91764664931997, 20.120996578116657, 8.971529613529102, 8.06269119515151, 6.000299835571336, 7.370148073000674, 40.33969033539333, 48.40926407025492, 35.07294522231799, 27.38601659300957, 15.698491828761867, 12.40829199548102, 9.103054411343887, 14.534784422742222, 6.575765352362218, 4.762724196819889, 3.9609713216462406, 6.239268662119755, 29.18073103496675, 46.6874603861912, 28.17465059717745], \"type\": \"data\"}, \"marker\": {\"color\": \"rgb(0,125,150)\"}, \"name\": \"Anand Vihar\", \"type\": \"bar\", \"x\": [\"Jan 2018\", \"Feb 2018\", \"Mar 2018\", \"Apr 2018\", \"May 2018\", \"Jun 2018\", \"Jul 2018\", \"Aug 2018\", \"Sep 2018\", \"Oct 2018\", \"Nov 2018\", \"Dec 2018\", \"Jan 2019\", \"Feb 2019\", \"Mar 2019\", \"Apr 2019\", \"May 2019\", \"Jun 2019\", \"Jul 2019\", \"Aug 2019\", \"Sep 2019\", \"Oct 2019\", \"Nov 2019\", \"Dec 2019\", \"Jan 2020\", \"Feb 2020\", \"Mar 2020\", \"Apr 2020\", \"May 2020\", \"Jun 2020\", \"Jul 2020\", \"Aug 2020\", \"Sep 2020\", \"Oct 2020\", \"Nov 2020\", \"Dec 2020\"], \"y\": [259.52187499999997, 159.40357142857144, 97.77129032258064, 114.54366666666667, 108.09612903225808, 98.05466666666668, 0.0, 32.47161290322581, 49.61099999999999, 174.32129032258064, 249.61666666666662, 303.5364516129032, 230.12129032258062, 138.79107142857143, 105.35193548387097, 101.20766666666671, 110.68258064516128, 72.53833333333333, 52.40709677419354, 40.99870967741935, 43.48999999999999, 167.11870967741936, 226.28833333333336, 251.76354838709673, 174.8487096774194, 121.7948275862069, 67.21193548387097, 22.267666666666667, 42.12516129032257, 64.48466666666666, 37.82096774193548, 28.291935483870976, 47.47566666666668, 159.64870967741933, 255.97366666666662, 265.5111111111112]}, {\"error_y\": {\"array\": [30.858880349840327, 25.369133463571437, 11.892273873903248, 15.05052182667845, 14.793574095049259, 17.096117625905162, 4.96640314175232, 5.184254543691443, 7.122701222020258, 22.851268724373156, 24.86827882164318, 28.200446170617454, 28.35766950976631, 20.546449207405644, 9.668464966978673, 11.331874557290286, 15.234518679713748, 6.442466296275282, 8.44065714798418, 5.6671173721869685, 6.859037733251142, 32.78544426186522, 48.61846192492578, 28.245333465170567, 19.600744596376497, 20.184215166389258, 12.735014427017001, 6.3253984710160225, 10.65915856791516, 4.313921751020972, 4.007720728406744, 3.980306887030458, 5.984369390306594, 20.282797257593987, 50.024370879140925, 44.961099495760266], \"type\": \"data\"}, \"marker\": {\"color\": \"rgb(13, 255, 20)\"}, \"name\": \"DTU\", \"type\": \"bar\", \"x\": [\"Jan 2018\", \"Feb 2018\", \"Mar 2018\", \"Apr 2018\", \"May 2018\", \"Jun 2018\", \"Jul 2018\", \"Aug 2018\", \"Sep 2018\", \"Oct 2018\", \"Nov 2018\", \"Dec 2018\", \"Jan 2019\", \"Feb 2019\", \"Mar 2019\", \"Apr 2019\", \"May 2019\", \"Jun 2019\", \"Jul 2019\", \"Aug 2019\", \"Sep 2019\", \"Oct 2019\", \"Nov 2019\", \"Dec 2019\", \"Jan 2020\", \"Feb 2020\", \"Mar 2020\", \"Apr 2020\", \"May 2020\", \"Jun 2020\", \"Jul 2020\", \"Aug 2020\", \"Sep 2020\", \"Oct 2020\", \"Nov 2020\", \"Dec 2020\"], \"y\": [273.61687500000005, 155.8760714285714, 116.40645161290321, 79.994, 75.26096774193547, 71.60166666666666, 39.33451612903226, 33.130322580645164, 41.984, 149.56967741935483, 219.70299999999997, 258.78193548387094, 202.60903225806453, 98.00107142857144, 86.99129032258067, 86.72666666666667, 102.27967741935488, 62.569333333333354, 53.658387096774206, 44.740322580645156, 49.46833333333334, 159.3887096774194, 217.95600000000007, 236.88741935483878, 161.26225806451617, 147.89379310344827, 63.403225806451616, 52.56766666666667, 64.29354838709679, 51.09066666666666, 34.56516129032258, 27.18225806451612, 62.16633333333332, 163.3958064516129, 246.5693333333333, 273.68666666666667]}, {\"error_y\": {\"array\": [0.0, 19.246088727648008, 11.417376454504172, 13.674982859505487, 12.54026621147438, 17.20287015155303, 4.905785439395659, 4.1210587779490355, 9.97103431317348, 28.845696070083243, 43.841918260564185, 43.297252096799596, 33.08725998270182, 19.114095752938457, 11.607161295572258, 11.45861554857783, 11.204168405717144, 6.950781882499264, 7.715881477765792, 5.359082937356285, 6.131340978122885, 37.22369104840458, 50.21745525783615, 32.22419342654136, 21.469567395365853, 14.663063566954659, 10.838222880344732, 6.746646727298159, 7.642676580222589, 5.1233498222107245, 3.979083741629077, 4.2946630954115825, 7.438482961308908, 28.13109261037737, 41.84647098370044, 30.644461173198415], \"type\": \"data\"}, \"marker\": {\"color\": \"rgb(255, 10, 10)\"}, \"name\": \"Vivek Vihar\", \"type\": \"bar\", \"x\": [\"Jan 2018\", \"Feb 2018\", \"Mar 2018\", \"Apr 2018\", \"May 2018\", \"Jun 2018\", \"Jul 2018\", \"Aug 2018\", \"Sep 2018\", \"Oct 2018\", \"Nov 2018\", \"Dec 2018\", \"Jan 2019\", \"Feb 2019\", \"Mar 2019\", \"Apr 2019\", \"May 2019\", \"Jun 2019\", \"Jul 2019\", \"Aug 2019\", \"Sep 2019\", \"Oct 2019\", \"Nov 2019\", \"Dec 2019\", \"Jan 2020\", \"Feb 2020\", \"Mar 2020\", \"Apr 2020\", \"May 2020\", \"Jun 2020\", \"Jul 2020\", \"Aug 2020\", \"Sep 2020\", \"Oct 2020\", \"Nov 2020\", \"Dec 2020\"], \"y\": [0.0, 158.19464285714284, 110.4574193548387, 91.56099999999998, 86.56612903225808, 69.02366666666666, 44.8458064516129, 37.03903225806451, 50.37633333333334, 163.89806451612907, 172.56900000000005, 224.72548387096774, 209.60419354838712, 117.90535714285716, 82.95612903225806, 83.46266666666666, 84.73290322580645, 59.05100000000001, 40.66935483870969, 33.5932258064516, 37.622, 164.11774193548385, 214.30266666666668, 246.64354838709676, 169.86677419354837, 127.98034482758621, 61.09064516129032, 46.49166666666666, 53.27548387096775, 49.984000000000016, 35.14870967741937, 26.19903225806452, 62.71366666666666, 185.5364516129032, 254.49366666666668, 301.1244444444444]}],\n",
              "                        {\"annotations\": [{\"showarrow\": false, \"text\": \"COVID-19\", \"x\": 27.5, \"xref\": \"x\", \"y\": 232, \"yref\": \"y\"}, {\"showarrow\": false, \"text\": \"Lockdown\", \"x\": 27.5, \"xref\": \"x\", \"y\": 216, \"yref\": \"y\"}, {\"showarrow\": false, \"text\": \"Pre COVID-19 Lockdown\", \"x\": 15.5, \"xref\": \"x\", \"y\": 275, \"yref\": \"y\"}, {\"showarrow\": false, \"text\": \"Partial Lockdown\", \"x\": 31.5, \"xref\": \"x\", \"y\": 275, \"yref\": \"y\"}], \"bargap\": 0.15, \"bargroupgap\": 0.1, \"barmode\": \"group\", \"legend\": {\"bgcolor\": \"rgba(255, 255, 255, 0)\", \"bordercolor\": \"rgba(255, 255, 255, 0)\", \"x\": 0, \"y\": 1.0}, \"shapes\": [{\"fillcolor\": \"LightSalmon\", \"layer\": \"below\", \"line\": {\"width\": 0}, \"opacity\": 0.5, \"type\": \"rect\", \"x0\": \"Jun 2020\", \"x1\": \"Mar 2020\", \"xref\": \"x\", \"y0\": 0, \"y1\": 1, \"yref\": \"paper\"}, {\"layer\": \"below\", \"line\": {\"width\": 0}, \"opacity\": 0.5, \"type\": \"rect\", \"x0\": \"Jan 2018\", \"x1\": \"Mar 2020\", \"xref\": \"x\", \"y0\": 0, \"y1\": 1, \"yref\": \"paper\"}, {\"fillcolor\": \"violet\", \"layer\": \"below\", \"line\": {\"width\": 0}, \"opacity\": 0.5, \"type\": \"rect\", \"x0\": \"Jun 2020\", \"x1\": 35.4, \"xref\": \"x\", \"y0\": 0, \"y1\": 1, \"yref\": \"paper\"}], \"template\": {\"data\": {\"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"bar\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}}, \"type\": \"barpolar\"}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"choropleth\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"choropleth\"}], \"contour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"contour\"}], \"contourcarpet\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"contourcarpet\"}], \"heatmap\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmap\"}], \"heatmapgl\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"heatmapgl\"}], \"histogram\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"histogram\"}], \"histogram2d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2d\"}], \"histogram2dcontour\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"histogram2dcontour\"}], \"mesh3d\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"type\": \"mesh3d\"}], \"parcoords\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"parcoords\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}], \"scatter\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter\"}], \"scatter3d\": [{\"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatter3d\"}], \"scattercarpet\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattercarpet\"}], \"scattergeo\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergeo\"}], \"scattergl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattergl\"}], \"scattermapbox\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scattermapbox\"}], \"scatterpolar\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolar\"}], \"scatterpolargl\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterpolargl\"}], \"scatterternary\": [{\"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"type\": \"scatterternary\"}], \"surface\": [{\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"type\": \"surface\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}]}, \"layout\": {\"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]], \"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}, \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"geo\": {\"bgcolor\": \"white\", \"lakecolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"showlakes\": true, \"showland\": true, \"subunitcolor\": \"white\"}, \"hoverlabel\": {\"align\": \"left\"}, \"hovermode\": \"closest\", \"mapbox\": {\"style\": \"light\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"gridwidth\": 2, \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\"}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"ternary\": {\"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"bgcolor\": \"#E5ECF6\", \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"title\": {\"x\": 0.05}, \"xaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}, \"yaxis\": {\"automargin\": true, \"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"zerolinewidth\": 2}}}, \"title\": {\"text\": \"PM2.5 values for Delhi's most polluted areas\"}, \"xaxis\": {\"tickfont\": {\"size\": 14}}, \"yaxis\": {\"tickfont\": {\"size\": 14}, \"title\": {\"font\": {\"size\": 16}, \"text\": \"PM2.5(u/gm3)\"}}},\n",
              "                        {\"responsive\": true}\n",
              "                    ).then(function(){\n",
              "                            \n",
              "var gd = document.getElementById('74b3dcf0-3c22-480d-b536-f0a49c8819b7');\n",
              "var x = new MutationObserver(function (mutations, observer) {{\n",
              "        var display = window.getComputedStyle(gd).display;\n",
              "        if (!display || display === 'none') {{\n",
              "            console.log([gd, 'removed!']);\n",
              "            Plotly.purge(gd);\n",
              "            observer.disconnect();\n",
              "        }}\n",
              "}});\n",
              "\n",
              "// Listen for the removal of the full notebook cells\n",
              "var notebookContainer = gd.closest('#notebook-container');\n",
              "if (notebookContainer) {{\n",
              "    x.observe(notebookContainer, {childList: true});\n",
              "}}\n",
              "\n",
              "// Listen for the clearing of the current output cell\n",
              "var outputEl = gd.closest('.output');\n",
              "if (outputEl) {{\n",
              "    x.observe(outputEl, {childList: true});\n",
              "}}\n",
              "\n",
              "                        })\n",
              "                };\n",
              "                \n",
              "            </script>\n",
              "        </div>\n",
              "</body>\n",
              "</html>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "7IXQaeBcNbXI"
      },
      "source": [
        "**PM2.5 analysis for different stations for March-June(2018,2019,2020)**"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 141
        },
        "id": "9fDTvMU7By5E",
        "outputId": "685b49ec-6989-484c-b58b-47b989e8bb2a"
      },
      "source": [
        "cols=['year','PM2.5 Bawana','PM2.5 Anand vihar','PM2.5 Vivek Vihar','PM2.5 DTU','Err BW','Err AV','Err VV','Err DTU']\r\n",
        "years = ['Mar-Jun,2018' , 'Mar-Jun,2019' , 'Mar-Jun,2020']\r\n",
        "avg_years = pd.DataFrame(columns=cols)\r\n",
        "avg_years['year']= years\r\n",
        "baw_mean = np.array([np.mean(baw_list[0]) , np.mean(baw_list[1]) , np.mean(baw_list[2])])\r\n",
        "anand_mean = np.array([np.mean(anand_list[0]) , np.mean(anand_list[1]) , np.mean(anand_list[2])])\r\n",
        "vivek_mean = np.array([np.mean(vivek_list[0]) , np.mean(vivek_list[1]) , np.mean(vivek_list[2])])\r\n",
        "dtu_mean = np.array([np.mean(dtu_list[0]) , np.mean(dtu_list[1]) , np.mean(dtu_list[2])])\r\n",
        "avg_years['PM2.5 Bawana']= baw_mean\r\n",
        "avg_years['PM2.5 Anand vihar']= anand_mean\r\n",
        "avg_years['PM2.5 Vivek Vihar']= vivek_mean\r\n",
        "avg_years['PM2.5 DTU']= dtu_mean\r\n",
        "baw_err = np.array([1.96*(np.std(np.array(baw_list[0]))/np.sqrt(len(baw_list[0]))) , 1.96*(np.std(np.array(baw_list[1]))/np.sqrt(len(baw_list[1])))\r\n",
        ", 1.96*(np.std(np.array(baw_list[2]))/np.sqrt(len(baw_list[2])))])\r\n",
        "\r\n",
        "anand_err = np.array([1.96*(np.std(np.array(anand_list[0]))/np.sqrt(len(anand_list[0]))) , 1.96*(np.std(np.array(anand_list[1]))/np.sqrt(len(anand_list[1])))\r\n",
        ", 1.96*(np.std(np.array(anand_list[2]))/np.sqrt(len(anand_list[2])))])\r\n",
        "\r\n",
        "vivek_err = np.array([1.96*(np.std(np.array(vivek_list[0]))/np.sqrt(len(vivek_list[0]))) , 1.96*(np.std(np.array(vivek_list[1]))/np.sqrt(len(vivek_list[1])))\r\n",
        ", 1.96*(np.std(np.array(vivek_list[2]))/np.sqrt(len(vivek_list[2])))])\r\n",
        "\r\n",
        "dtu_err = np.array([1.96*(np.std(np.array(dtu_list[0]))/np.sqrt(len(dtu_list[0]))) , 1.96*(np.std(np.array(dtu_list[1]))/np.sqrt(len(dtu_list[1])))\r\n",
        ", 1.96*(np.std(np.array(dtu_list[2]))/np.sqrt(len(dtu_list[2])))])\r\n",
        "\r\n",
        "avg_years['Err BW']= baw_err\r\n",
        "avg_years['Err AV']= anand_err\r\n",
        "avg_years['Err VV']= vivek_err\r\n",
        "avg_years['Err DTU']= dtu_err\r\n",
        "\r\n",
        "avg_years.head()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>year</th>\n",
              "      <th>PM2.5 Bawana</th>\n",
              "      <th>PM2.5 Anand vihar</th>\n",
              "      <th>PM2.5 Vivek Vihar</th>\n",
              "      <th>PM2.5 DTU</th>\n",
              "      <th>Err BW</th>\n",
              "      <th>Err AV</th>\n",
              "      <th>Err VV</th>\n",
              "      <th>Err DTU</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>Mar-Jun,2018</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>104.588852</td>\n",
              "      <td>89.551393</td>\n",
              "      <td>85.980000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>10.473963</td>\n",
              "      <td>7.391551</td>\n",
              "      <td>8.052123</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>Mar-Jun,2019</td>\n",
              "      <td>99.384508</td>\n",
              "      <td>97.618443</td>\n",
              "      <td>77.653852</td>\n",
              "      <td>84.805574</td>\n",
              "      <td>7.405179</td>\n",
              "      <td>8.479847</td>\n",
              "      <td>5.588515</td>\n",
              "      <td>6.134629</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>Mar-Jun,2020</td>\n",
              "      <td>64.314754</td>\n",
              "      <td>49.114918</td>\n",
              "      <td>52.783770</td>\n",
              "      <td>57.937295</td>\n",
              "      <td>5.436520</td>\n",
              "      <td>6.451974</td>\n",
              "      <td>4.076337</td>\n",
              "      <td>4.743455</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "           year  PM2.5 Bawana  PM2.5 Anand vihar  ...     Err AV    Err VV   Err DTU\n",
              "0  Mar-Jun,2018      0.000000         104.588852  ...  10.473963  7.391551  8.052123\n",
              "1  Mar-Jun,2019     99.384508          97.618443  ...   8.479847  5.588515  6.134629\n",
              "2  Mar-Jun,2020     64.314754          49.114918  ...   6.451974  4.076337  4.743455\n",
              "\n",
              "[3 rows x 9 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 23
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "BDT7Q3K0_yJq"
      },
      "source": [
        "avg_years.to_csv('Mar_Jun_PM2.5_trend.csv')"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "sjrg0eVohvBl"
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}